#ifndef     __QUERY_TASK_H
#define     __QUERY_TASK_H

#include "./handler_task.h"

namespace task {

class QueryTask : public rtos::Thread<QueryTask, 1024, osPriorityHigh1> {

public:
    void run();

    inline void post(const conn::Message &msg) {
        m_mq.post(msg);
    }

private:
    void dispatch(const conn::Message &msg);
    void on_get_task_info(const conn::Message &msg);
    
    rtos::MessageQueue<conn::Message, 10> m_mq;
};

inline utils::Object<QueryTask> queryTask;

}

#endif
